#! /usr/bin/perl

#  設定した文字コードの次の数字の小数点を削除するスクリプト  #
#  ex P1000. -> P1000                                        #
#  ただし、小数値のあるもの(ex.41.1)は削除しない             #
#  小数値が0のみのとき(ex.1.000)はオプションで設定           #

######################################################
#小数点を削除したい文字コードを連続で入れてください
#ex. SFP
$remove_code= 'SFP';
######################################################

###############################################################
#小数値が0のみのとき小数点を削除(ex.1.000->1) --> 0
#                           削除しない(ex.1.000->1.000) --> 1
$point_flag= 0;
###############################################################

$pre_file= $ARGV[0];
$out_file= $ARGV[1];
open(IN,$pre_file);
open(OUT,">$out_file");

while(<IN>){
	if(!/^N?[0-9\s]*[\(\%]/){
		$new_line= "";
		while(/([$remove_code])([\-\d\.]+)/){
			($pre_line,$char,$num,$_)= ($`,$1,$2,$');
			if($num =~ /(.+)\.$/){$num= $1;}
			else{
				if($point_flag == 0){
					if($num =~ /(.+)\.0+$/){$num= $1;}
				}
			}
			$new_line= $new_line.$pre_line.$char.$num;
		}
		$_= $new_line.$_;
	}
	print OUT;
}
close(OUT);
close(IN);
